﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CalculadoraDeMatrizes
{
    class M_Subtrair : MatrizBase
    {
        public override void Calcular(TextBox[,] matriz1, TextBox[,] matriz2)
        {
            base.Calcular(matriz1, matriz2);
            Gerador gerador = Gerador.getInstance();

            if (podeCalcularBool)
            {
                for (int x = 0; x < matriz1.GetLength(0); x++)
                {
                    for (int y = 0; y < matriz1.GetLength(1); y++)
                    {
                        //Pega os dois valores da matriz e subtrai -Resultado da soma de matrizes na posição-
                        double v1 = Convert.ToInt32(matriz1[x, y].Text);
                        double v2 = Convert.ToInt32(matriz2[x, y].Text);
                        double valor = v1 - v2;

                        //Alterar o texto do Textbox;
                        gerador.setMatriz3(x, y, valor.ToString());
                    }
                }
            }
        }

        public override bool podeCalcular(TextBox[,] matriz1, TextBox[,] matriz2)
        {
            if (matriz1.GetLength(0) != matriz2.GetLength(0) || matriz1.GetLength(1) != matriz2.GetLength(1))
            {
                MessageBox.Show("Tamanho das matrizes tem de ser idêntico.", "Erro na Matriz 3");
                return false;
            }

            return true;
        }
    }
}
